package br.com.sisgerenciamento.usuario;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;

import br.com.sisgerenciamento.dto.usuario.UsuarioDTO;
import br.com.sisgerenciamento.model.usuario.TipoUsuarioEnum;
import br.com.sisgerenciamento.util.UtilActionForm;

public class UsuarioForm extends UtilActionForm {

	private static final long serialVersionUID = 1L;
	
	private Long codigoUsuario;
	private String action;
	private ArrayList<UsuarioDTO> usuarioDTOs = new ArrayList<UsuarioDTO>();
	
	private UsuarioDTO usuario = new UsuarioDTO();
	private List<TipoUsuarioEnum> listaTipos = TipoUsuarioEnum.listar();
	private String senhaAnterior;
	private String senhaNova;
	
	public UsuarioDTO getUsuario() {
		return usuario;
	}

	public void setUsuario(UsuarioDTO usuario) {
		this.usuario = usuario;
	}
	
	public List<TipoUsuarioEnum> getListaTipos() {
		return listaTipos;
	}

	public void setListaTipos(List<TipoUsuarioEnum> listaTipos) {
		this.listaTipos = listaTipos;
	}
	public String getSenhaAnterior() {
		return senhaAnterior;
	}
	public void setSenhaAnterior(String senhaAnterior) {
		this.senhaAnterior = senhaAnterior;
	}
	public String getSenhaNova() {
		return senhaNova;
	}
	public void setSenhaNova(String senhaNova) {
		this.senhaNova = senhaNova;
	}
	public ArrayList<UsuarioDTO> getUsuarioDTOs() {
		return usuarioDTOs;
	}
	public void setUsuarioDTOs(ArrayList<UsuarioDTO> usuarioDTOs) {
		this.usuarioDTOs = usuarioDTOs;
	}
	public Long getCodigoUsuario() {
		return codigoUsuario;
	}
	public void setCodigoUsuario(Long codigoUsuario) {
		this.codigoUsuario = codigoUsuario;
	}

	@Override
	public ActionErrors validate(ActionMapping mapping,	HttpServletRequest request) {
			limparMensagem(request);
		return super.validate(mapping, request);
	}
	
	@Override
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		usuario = new UsuarioDTO();
		senhaAnterior = new String();
		senhaNova = new String();
		usuario.setStatus("1");
		usuarioDTOs = new ArrayList<UsuarioDTO>();
		codigoUsuario = null;
		super.reset(mapping, request);
	}

	public String getAction() {
		return action;
	}

	public void setAction(String action) {
		this.action = action;
	}
	
	
}
